//
//  SEExamineRecordModel.swift
//  SmartEyeForPatient
//
//  Created by qdsg on 2021/4/25.
//

import HandyJSON

struct SEExamineRecordModel: HandyJSON {
    /**
     检查单表主键id
     */
    var formDetailId: String = ""
    /**
     检查患者姓名
     */
    var name: String = ""
    /**
     检查预约时间，精确到分
     */
    var checkScheduleTime: String = ""
    /**
     检查部位
     */
    var checkEyePart: CheckEyePart = .both
    /**
     检查医院名称
     */
    var checkHosName: String = ""
    /**
     检查单号（平台针对每一次检查生成的编号，6位）
     */
    var internalCheckNum: String = ""
    /**
     检查项目code - 101: 眼底照相检查", 102: 眼前节照相检查, 103: 眼压检查", 104: 视力检查", 105: 屈光检查"
     */
    var checkItemCode: Int = 0
    /**
     检查项目code（字典值）
     */
    var checkItemValue: String = ""
    /**
     测量值  [[右眼, 左眼], [右眼, 左眼], [...]]]
     */
    var dataDTO: [[SEExamineRecordData]] = [[]]
    /**
     检查图片
     */
    var imageUrls: [String] = []
    /**
     检查图片对象数组
     */
    var imageDTOList: [SEUploadFileModel] = []
    /**
     右眼眼底图
     */
    var odImageUrl: String = ""
    /**
     左眼眼底图
     */
    var osImageUrl: String = ""
    /**
     OCT检查/血化验  检查编码
     */
    var otherMeasureData: String = ""
}

struct SEExamineRecordData: HandyJSON {
    /**
     轴位
     */
    var axial: String = ""
    /**
     R1
     */
    var r1: String = ""
    /**
     R2
     */
    var r2: String = ""
    /**
     AX
     */
    var ax: String = ""
    /**
     柱镜
     */
    var cyl: String = ""
    /**
     测量值
     */
    var eyeData: String = ""
    /**
     球镜
     */
    var sph: String = ""
    /**
     裸眼视力
     */
    var lysl: String = ""
    /**
     戴镜视力
     */
    var djsl: String = ""
    /**
     针孔视力
     */
    var zksl: ZkVision = .zero
}

enum ZkVision: Int, HandyJSONEnum {
    case zero
    case one
    case two
    case three

    var memo: String {
        switch self {
        case .zero: return ""
        case .one: return "无提高"
        case .two: return "提高1行"
        case .three: return "提高2行及以上"
        }
    }
}

enum CheckEyePart: String, HandyJSONEnum {
    case both = "双眼"
    case left = "左眼"
    case right = "右眼"
}

